#include "CostumTreeView.h"
#include <QMouseEvent>


CostumTreeView::CostumTreeView(QWidget* parent) : QTreeView(parent)
{

}

void CostumTreeView::drawBranches(QPainter *painter, const QRect &rect, const QModelIndex &index) const
{
    // 不调用基类的 drawBranches 方法，从而隐藏展开按钮
    // 因为使用了delegate  所以绘制等操作交给delegate
}

void CostumTreeView::mouseDoubleClickEvent(QMouseEvent *event)
{
    QModelIndex index = indexAt(event->pos());
    if (index.isValid()) {
        // 检查是否应该展开或折叠该项
        if (isExpanded(index)) {
            collapse(index);
        } else {
            expand(index);
        }
        // 阻止进入编辑模式（虽然通常情况下双击不会直接触发编辑模式，但是有委托或其他机制干扰）
        event->accept();
        return; // 不调用基类的 mouseDoubleClickEvent，因为我们已经处理了双击事件
    }
}
